Television control interface with electronic guide

ABSTRACT

An on-screen menu method and system for controlling the functions of integrated electronic devices and a television schedule system and method for displaying television schedule information on a television screen includes a program guide having a schedule information area that depicts the programs that are being presented on each channel at each time during the day and an interconnected series of menus to control the features of the integrated electronic devices. An input device allows the viewer to move a pointer over different interactive areas of the guide and the function performed when the area is activated is displayed in a contextual help window. Various control glyphs provide for recursive interaction with the guide.

BACKGROUND OF THE INVENTION

The present application is a continuation of U.S. patent applicationSer. No. 09/032,374, filed Feb. 27, 1998 now abandoned which is relatedto a U.S. Provisional patent application entitled “Seamless TelevisionControl Interface with Electronic Guide,” U.S. Application No.60/039,278, which was filed on Feb. 28, 1997, of Alba, et al., thedisclosure of which is incorporated by reference for all purpose.

The present invention generally relates to television scheduleinformation, and more particularly to a system and method for displayinga television program guide on a television screen.

As the number of television stations in a metropolitan area or on acable network has increased, the number of programs of potentialinterest that are presented to a viewer has risen dramatically. With theuse of dish antennas capable of receiving direct satellite signals, themultitude of programs available to the viewer has further increased.

Additionally, television faces a digital future that will see the mergerof television and PC technology. The television set of the future willinclude a micro-computer, a modem of interconnectivity with othercomputers over networks, intranets, and the internet, and be connectableto computer peripherals such as printers. Such capabilities as near“video on demand” (NVOD), “video on demand”, “access to the world wideweb”, “audio on demand”, etc. will be present the viewer with a plethoraof information and bandwidth. In addition to PC capabilities, viewerswill want to control other consumer electronic devices such as VCR's andsurround sound receivers.

As has become increasingly evident, information overload can actuallyreduce the usefulness of the information delivered. Accordingly, a greatchallenge exists to provide an interface that manages and provides anintelligent, user-friendly interface to the information available.

Consequently, television schedule systems or electronic program guides(EPG) that are provided directly on the viewer's television screen havebeen developed to assist the viewer in sorting through these variousprograms and determining which programs to watch or record. One suchtelevision schedule system is disclosed in commonly assigned U.S. Pat.No. 5,353,121 (Young et al.), the complete disclosure of which is herebyincorporated by reference. In one embodiment of Young, the televisionschedule includes a series of menu screens having an array of cellscorresponding to different television programs. The viewer may scrollthrough the cells to view which television programs are being presentedon various channels at various times. In addition, the viewer may selectcertain cells to obtain more information on the associated program or topull up other sub-menus with additional options.

The recent development of television schedule systems, such as the abovedescribed patent to Young, have created many new challenges. One suchchallenge is to manage intelligently the vast stores of informationavailable and provide user access and control directly through anelectronic program guide. Another challenge is to facilitate easy accessto a wide range of functionality through the combination of a limitednumber of user interactions. And still another challenge is to controlseveral differing integrated electronic devices with the same ease ofuse incorporated into each.

SUMMARY OF THE INVENTION

The present invention provides a system and method of accessing a seriesof menus for controlling a variety of integrated electronic devices andfor displaying schedule information on a visual interface, such as atelevision screen, a computer monitor or the like. An integratedelectronic device is any device that has been configured to accept andperform the commands of the on-screen menuing system. The presentinvention also provides a system and method for allowing the viewer tonavigate and interact with a program guide that is displayed, forexample, on the viewer's television screen. The program guide willusually include a schedule information area that depicts the programsthat are being presented on each channel at each time during the day.With an input device, such as a remote control device, pointing device,mouse, keyboard, microphone or the like, the viewer can browse throughthe schedule information area and/or obtain more information aboutprograms of particular interest.

According to one aspect of the invention, actions are directly invokedby moving a pointer over areas of the visual interface and selecting or“clicking” on the area.

In one aspect of the invention, a system and method is provided forallowing the viewer to utilize display action controls, configured asglyphs, to recursively vary the configuration of the display area. Eachglyph is activated by a point and click action of the user input deviceand serves as a switch for changing between two modes.

According to one aspect of the invention, a system and method isprovided for accessing a series of menus and host functions that controla variety of integrated consumer electronic devices.

According to one aspect of the invention, a system and method isprovided for allowing the user to easily change the time frame displayedon the EPG guide, and the accompanying viewer guide by activating thetime bar glyph and then activating a specific time indicator glyph.

According to one aspect of the invention, a system and method isprovided for changing the configuration of the pointer/cursor to providethe user with additional or alternate information. The pointer/cursorchanges depending on the location of the pointer/cursor on the EPGdisplay guide.

According to one aspect of the invention, a system and method isprovided for graphically depicting the current time and the show timeremaining by displaying a transparent shadow that proceeds across theEPG screen from left to right.

Other features and advantages of the invention will be apparent in viewof the following detailed description and the appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representation of an embodiment of the EPG display of thepresent invention.

FIG. 2 is a block diagram of a TV system.

FIG. 3 is a block diagram of a hardware unit for generating an on-screenelectronic programming guide (EPG).

FIG. 4 is a schematic diagram of the hierarchical database utilized togenerate the EPG.

FIGS. 5A–5D are schematic diagrams of data structures in the database.

FIG. 6 is a flow diagram of a menuing hierarchy.

FIG. 7A is a screen depiction of a series of sub-menus.

FIG. 7B–7C are screen depictions of a series of host function commands.

FIG. 7D–7E are screen depictions of a series of sub-menus.

FIG. 7F is a screen depiction of a series of host function commands.

FIG. 8 is a screen depiction of the current time data depicted as adarkened area on the EPG screen.

FIG. 9 is a screen depiction of the Time Bar glyph which includes aseries of Time Indicator glyphs.

FIG. 10A–10C are screen depictions of the pointer/cursor which depictsalternate or additional information.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

Overview of the Interactive Screen

The present invention provides an on-screen menuing system and methodfor controlling several integrated consumer electronic devices and aschedule system and method for displaying schedule information on avisual interface, such as a television screen, computer monitor or thelike. The system and method is particularly useful for use withtelevision schedule information. The television schedule information ispresented in a program guide having a schedule information areadepicting the program that is being shown on each channel for a periodof time, e.g., a day, week or longer. Additionally, the EPG displays thecontrols of functions for various integrated electronic devices in aseries of menus.

The on-screen menuing system provides a series of interactive menus.These interactive menus include commands to control the functions of theconnected electronic devices that are configured to accept and performthe commands of the on-screen menuing system.

The on-screen menu system and method for controlling several connectedelectronic devices and television schedule system include an inputdevice, such as a remote control device, pointing device, mouse,keyboard, microphone or the like, to allow the user to browse throughthe menu or schedule information area, obtain more information aboutprograms of particular interest and control various features of theintegrated electronics.

The controller may comprise a trackball, cursor controller, pointingdevice, a microphone for allowing voice activation, a number of keys orbuttons that function to move the viewer around the screen, or the like.In the preferred embodiment, the controller comprises a scrollingmechanism for displacing a movable cursor through a matrix of cells orwindows on the screen. The cursor may comprise a physical icon on thescreen, or it may be represented by highlighting or other visualindications of the cells or windows that are scrolled through by theviewer.

FIG. 1 illustrates a program guide 102 for the television schedulesystem of the present invention. The program guide 102, which is theprimary mode in the television schedule system, includes a number ofscreen information areas or windows in a particular screen where theviewer operates an input device, such as a pointer device describedabove, to move around vertically and horizontally and to interact withthat screen area's function. Preferably, the currently active screenarea will be indicated to the viewer, for example, by changing thebackground color from a light greyscale metallic to a brighter, activecolor. Within each screen area are one or more items, typically arrangedin a matrix or grid so that the viewer can scroll through the grid. Theitems can be selected or activated with the input device.

As shown in FIG. 1, program guide 102 preferably includes a scheduleinformation area 106 having a program matrix 108 of cells or items thatdepict the shows that are being presented on each channel at each timeduring the day. Program guide 102 conveniently lists the channels in avertical column to the left of the program matrix 108 and the times in atime bar 602 in a horizontal row above matrix 108. The viewer selects anarea by moving a pointer 110 over the area associated with a desiredaction. When the pointer 110 is moved over an area, the item may beautomatically highlighted with a brighter color to indicate the viewer'slocation.

In FIG. 1, program guide 102 includes a number of other informationareas. For example, program guide 102 includes a display title area 200that includes a display mode icon 202 and a display mode descriptiontext field 204. An interactive data control window 206 displays the datefor the listings in display matrix 108.

Directly below the display area 108 are four small action controls208–211 which give the viewer the ability to recursively vary theconfiguration of the display area 108. The operation and functions ofthese action controls is described in detail below. A world icon 214 mayappear below the display area on the left side and a star (linkedservices available) icon 216 may appear directly below the display areaon the right side.

A video window 220 may display a currently-tuned television show. Belowthe video window 220 is a channel window 222, a title window 224, and acurrent time display window 226. Each of these windows are interactive.

Overview of an EPG System

A detailed description of The EPG system, may be found in U.S. patentapplication Ser. No. 08/906,073 and so is herein incorporated byreference for all purposes.

In a preferred embodiment, the electronic program guide of the inventionmay be implemented either on a personal computer, a PCTV, a televisionconnected to a set-top box, or a television including a custom board.However, the invention is not limited to any particular hardwareconfiguration and will have increased utility as new combinations ofcomputers and television systems are developed. In the following any ofthe above will sometimes be referred to as a “TV system”. Block diagramsof representative TV systems are depicted in FIG. 2. Details ofimplementation are not depicted because the invention is not limited toany particular TV system.

As is well known, the picture to be displayed may be transmitted as ananalog signal, for example according to the NTSC standard utilized inthe United States, or as a digital signal modulated onto an analogcarrier. The signals may be received over a cable, or via an antenna orsatellite dish. Typically, television sets are designed to receiveanalog signals and computers display devices are designed to displaypictures encoded in a digital format. However, decoder system convertsthe digital data to an analog signal for display on a television set andTV modems can format analog TV signals for display on a monitor.

In FIG. 2, analog or digital TV signals, received via cable 330, antenna332, or satellite dish 334, are provided to a television system. If thesignal is from a digital broadcast service, then a decoder 336 convertsthe signal to baseband video and audio or channel 3/4 RF. If the signalis an analog signal it is passed through as a video output. Thetelevision system 338, depending on its configuration, receives selectedones of the outputs and displays the received program.

A PCTV includes a TV card 340, connected to either live video, basebandvideo, or channel ¾ output, digitizes the video image and displays thevideo image in a resizable window on the computer monitor. The PCTV isalso coupled to land telephone lines by a modem 342.

If the received signal is an analog TV signal the TV card of the PCTVdigitizes the analog signal and extracts included information from thevertical blanking intervals (VBI). On the other hand, if the signal is adigital signal separate audio, video, VBI (vertical blanking informationsuch as closed caption, teletext, current time data and program relatedinformation), program guide, and conditional access information areprovided as separate bitstreams. The video and audio bitstreams forprograms are converted to a format for display and the program guideinformation is processed to form program guide database. The processor,executing software stored in memory, generates interactive electronicprogram guide images and images of received programs. The guide can beused to interact with and control programs displayed in the window.

A television system configured to display an electronic program guidesuch as a guide provided by StarSight telecast includes an on-screendisplay controller and other hardware described below. If a standardanalog broadcast signal is received program guide data, includingcurrent time data, is extracted from the VBI by a VBI data slicer andprocessed to form a program database. If a DBS digital signal isreceived, either from a satellite or cable, VBI and program data,including current time data, are provided in separate bit streams. Theprogram guide images are generated are either generated locally orremotely and provided to an on screen display controller. Interactivityis provided via a remote control.

Alternatively, the program guide can be displayed on a computer monitorthat interactively controls the television set through, for example, anIR interface including an IR blaster 344 to generate IR codes to controla television, a VCR and/or any other connected electronic deviceconfigured to accept and perform the commands of the on-screen menuingsystem.

If the electronic guide database is generated locally the system forcreating the electronic programming guide must receive televisionschedule information and process the received information to create adatabase. Thus, the system requires, a data reception unit, a processor,memory to store program code and a database, an on-screen displaygenerator (OSD), and a control interface for tuning to selectedchannels.

In one preferred embodiment, the schedule information is transmitted asa set of short commands of specified formats. Different commandscommunicate information such as a show schedule for a given channel, thetitle of each show in the schedule, descriptions and informationattributes about each show in the channel. Thus, information for a showto be broadcast at a particular time is transmitted in several commands.ID numbers in the commands facilitate organizing the information into arelational database utilizing database engine (DBE) software stored inmemory and executed by the processor.

In a preferred embodiment, a board is included at a viewer's televisionset and the database is stored locally and commands are transmitted inthe vertical blanking intervals (VBI) of programming on a designatedchannel, for example PBS. An example of a board for receiving programguide information, generating program guide database, displaying theprogram guide, and interactively controlling the program guide isdepicted in FIG. 3. The commands are transmitted to the board in thevertical blanking intervals of programming broadcast on a designatedchannel.

Alternatively, the commands could be transmitted to the local unit overland telephone lines. Additionally, as described below, in some systemsthe database is built remotely and the guide itself is transmitted tothe local unit.

The database engine builds a hierarchical database in the RAM. Thehierarchical structure of the database is depicted in FIG. 4. Thedatabase is structured internally as schedule data structures and themedata structures linked by handles and handle tables. Each handle is anindex to a handle table which contains pointers to blocks of memorywhere items of the database are stored.

In another embodiment, for example a DSS system, program guide data istransmitted as a bit stream that is processed by the database engine.

Additionally, a N.E.W.S. (news, entertainment, weather, and sports)database has been developed. Commands including story text and story IDsare transmitted. Links from the program guide to stories related to aprogram can be created and the related stories can be accessed from theguide.

An advertisement database is also created from commands includingadvertising text and logos including IDs for linking the ads to showsdisplayed in the EPG. The user may access the advertising informationdirectly from the guide.

An internet database is also created from commands including URLs tointernet sites related to programs displayed on the EPG. If the vieweris viewing the EPG on a platform that is Web enabled, e.g., WebTV, a PC,or PCTV, then a linked site can be accessed directly from the EPG.

Additionally, a graphics program module builds various displaysutilizing schedule, show title, and other information from the database.If the OSD controller operates in the character mode the display is agrid of character codes which are transferred to the on-screen display(OSD) controller which generates the on-screen display.

An input-response user interface program module responds to user inputto generate new displays responsive to the particular input. In onepreferred embodiment, the user utilizes an input device, e.g., a remotecontrol, mouse, or keyboard, to place a pointer over a part of thecurrent display and clicks. The input-response module responds to theposition of the pointer and the particular display currently displayedto generate a responsive display or take a particular action. In anotherpreferred embodiment the user interface responds to function buttons ona remote control. Specific examples will be described below.

Board Description

FIG. 3 is a block diagram embodiment of the electronic hardware unit 452utilized to perform the electronic on-screen schedule display and otherfunctions. The particular hardware unit 452 depicted is for TVRO (TVReceive Only) customers having home satellite dishes for televisionviewing. This unit is coupled in series with existing customer TVROequipment.

In FIG. 3, the unit receives Baseband Video in 423 from the customerTVRO system. The unit optionally outputs Baseband Video out 428 orchannel 3/4 RF out 430. The unit includes an 8-bit microprocessor 400,64 bytes of code ROM 401, 512 K of RAM 402 for program data storage, acustom gate array 403, segmented base registers 404 for fast memory datamanipulation, security logic 406 for decoding incoming encrypted data, aserial bus 408 for display controller interface, serial bus 410 forinter-processor communication, watchdog timer 412 for error recovery, IRinput 413, IR transmitter circuits 416 for TV, VCR control, IR output417, CRC-32 encoding and decoding logic 418, on-board power supply 420,video input 423, On-Screen Display Controller and Formatter 424, customcolor converter 426, RF modulator 427, choice of Baseband Video or RFoutputs 428 or 430.

The on-screen display controller and formatter (OSDCF) 424 functions asan I/O controller, an on-screen display controller (OSD), and also as aclosed-caption data (CCD) VBI data slicer. The VBI (vertical blankinginterval) is a dead space in a TV signal that allows a television signalto reposition the scanning electron beam from the bottom to the top ofthe screen. Digital data, for example close-captioned data, or currenttime data, is modulated onto the carrier signal during the VBI.

The OSDCF 424 includes an analog to digital convertor (ADC) whichdigitizes the incoming baseband video and extracts digital informationtransmitted in the VBIs. As explained more fully below, messages fortransmission to the database are transmitted in the VBIs. These messagesare transferred to the processor 400 which executes a data base engineprocess to build or update the database.

The OSD part of the OSDCF 424 includes cache memory, character memory,timing functions, and an external RAM. The OSD reads high level graphiccommands sent from the processor 400 and stores graphic information inthe RAM. The OSD outputs red (R), green (G), blue (B), graphic datawhich is used to generate a local video signal. Depending on the stateof the user input interface, described below, the OSD local video outputor the incoming live video will be displayed.

Accordingly, screen display graphic data generated by the databaseengine is transferred to the RAM of the OSD which the generates a localvideo signal that causes the display screen to be displayed on thetelevision screen.

Scheduling Data Structures

The database engine (DBE) builds a hierarchical database in the RAM. Thehierarchical structure of the database is depicted in FIG. 4. Thedatabase is structured internally as schedule data structures and themedata structures linked by handles and handle tables. Each handle is anindex to a handle table which contains pointers to blocks of memorywhere structures of the database are stored.

The hierarchy for the schedule data structures, in descending order, is:

Channel Data Table: contains subscriber unit's list of channels; ShowList: contains time slots for each show scheduled to be broadcast for achannel; Show Title: contains the title text and show title attributes;Show Description: contains show's ratings, attributes, and descriptiontext.

A channel data table, depicted in FIG. 5A, is the highest data structurein the hierarchy. This table includes an entry for each channel receivedby the subscriber unit. The entries in the channel data table arechanged infrequently and are determined by the location of thesubscriber unit and type of services received. Each channel data tableentry includes information concerning the channel and a handle to a showlist handle table for the channel.

The next data structure in the hierarchy is the show list depicted inFIG. 5B. The show list includes a start time typically being midnightGMT and 24 hours of scheduling. The channel's schedule is given by anordered sequence of show slots, with a show slot for each show to bebroadcast by a particular channel for a particular day. Each slotincludes a duration, show title handle, and show description handle.Finding an entry corresponding to a given start time requires theentries to be scanned, in order, from the beginning of show list andadding duration values.

The database, when fully constructed, holds a week's worth of show listsfor each channel. The days of the week are accessed by incrementing theshow list handle by two bytes. The show lists are updated each day atmidnight GMT with the show list for the day just completed being deletedand the show list for same day next week being added to the database.

The next data structures in the schedule hierarchy are the show titleentries, depicted in FIG. 5C and show description entries, depicted inFIG. 5D. For a given show slot the show title entry and show descriptionentry are accessed utilizing the handles included in the slot. The showtitle and show description entries are stored in a memory pool dividedinto blocks. Each show title is identified by a unique 20-bit showidentification number (SID) and each show description is identified by aunique 20-bit number assigned at the head end. The show title handlesare based on the SID and the show title handles are offsets into a showtitle handle table. The entry in the show title table accessed by aparticular show title handle includes the address of the first block inthe memory pool where the show title entry is stored. Similarly, theshow description handle table entry accessed by a show descriptionhandle stores the address of the first block in the memory pool wherethe show description entry is stored.

Each show title entry includes theme index ID and the text of the showtitle. Typically, a single show title entry will be referenced by manyshow lists for different channels, days, and times. Thus, by utilizinghandles in the show lists all show lists reference a single show titleentry in memory so that memory is efficiently used. Many show titleentries have a long life because the show titles may be for series thatare broadcast over long periods of time and may be referenced by manyshowlists since many shows are broadcast by multiple channels.

Each show description entry includes a theme index ID, critics rating,MPAA rating for the show, traits mask bits, year produced, and showdescription text. Show description entries tend to have a shorter lifethan show title entries because a description is only valid for aparticular episode of a series.

User Interface

The user interface takes remote control commands as its primary input.In one embodiment a user requests various functions by pressing functionbuttons on a remote control. In another embodiment, the GUI is utilizedwith different interactive regions on a displayed screen correspondingto different functions. The user moves the cursor over the interactiveregion corresponding to a desired function and selects the function togenerate command. The particular form of entering a command is notcritical and technology for utilizing voice commands may soon beavailable.

The user interface receives commands and responds with a requesteddisplay screen and by performing the function requested by the command.The function performed may be to perform an action such as selecting anew viewer guide based on the Time Indicator glyphs, accessing a relatedinternet site, controlling the features of an integrated electronicdevice, or purchasing merchandise. The data and format of each screen isdependent on the previous screen, time of day, the contents of the database, the command received, and other parameters. A state table is usedto define the screen flow.

For every defined screen, there is an entrance function, an exitfunction, an update function, and an array of request-handlingfunctions. The entrance function is called when a state is first enteredto collect all necessary data and format the screen. The exit functionis called to release memory and data for the screen. The update functionis called once per minute to update the screen time and to redraw thescreen if any information displayed on the screen needs to be updated.

Once in a particular state, the table contains a reference to anothersoftware function corresponding to each key on the remote control or toeach interactive region on the screen. These referenced functions willbe executed whenever an associated remote control button is pressed orinteractive region is selected.

For example, if the user wishes to choose a new viewer guide, in the GUIembodiment, the viewer moves the cursor over the Time Bar interactiveregion which is then selected to request a new time indicator. Aconfirmation screen will then be generated.

The screens are displayed by the on-screen display (OSD) controllerbased on graphic display commands issued by the database engine. Amongthe primitive commands needed to draw system display screens are theErase Screen Command; Draw Rectangle Command; Save Rectangle Command;Restore Rectangle Command; Move Rectangle Commands; Write ASCII StringCommand; and Draw Channel Icon Command.

Each screen includes areas that are constant and based on code and datastored in non-volatile memory and variable areas such as show titles anddescriptions which utilize data stored in the database. Additionally,graphics files are also being stored in the database to be displayed inwindows of the display screen.

Description of the On-Screen Menuing System

Referring to FIGS. 6–7, the main menu and sub menu hierarchy isdepicted. Using the interactive capabilities of the on-screen menuingsystem, the user is able to access a variety of linked menus. FIG. 6depicts a plurality of linked menus in which a viewer may navigate usingthe pointer/cursor and the interactive nature of the on-screen menuingsystem. FIG. 6 depicts the ability of the user to move from a TV state500 to a main menu state 502. The user may also reach any of the submenus, including the program guide 102, TV controls guide 504, setupguide 506 and any other menu that may be added to the on-screen menuingsystem.

These menus control the various features of the connected electronicdevices. The graphical nature of the menus is such that the controlstructure and format is similar from menu to menu. This feature allowsthe user to be familiar with the control structure when operating any ofthe various integrated electronic devices. e.g., the look and feel ofthe menu that selects the channels to be viewed with the televisiontuner is similar to the menu displayed to control the channel to beviewed when using the integrated vcr tuner. The familiar nature of thegraphical interface allows for a shorter learning curve of the featuresof the integrated electronic devices when the user initially encountersthe on-screen menuing system.

The menuing system is especially useful in a host TV system utilizingprogrammed control of host functions, for example, basic native hostfunctions such as brightness, color, volume and other controls. Thepresent menuing system provides an integrated visual systems forcontrolling both native host features as well as program guide features.Further, the menuing system provides a common interface for otherprograms which can be resident on the host processor.

Accordingly, the present system provides a common interface and is thusportable from system to system.

Referring now to FIG. 7A, an embodiment of the structure of the menuingsystem is depicted schematically. FIG. 7A depicts the top levelfunctions. The user can advance to any top-level application by movingthe pointer to the option on the menu and selecting the option. TheSTARSIGHT option is bolded in this embodiment which indicates thepointer will automatically be positioned over this option when the menufirst appears.

Each menu option may lead to any number of further sub-menus, so that aparticular option may be buried as many levels deep as appropriate. Forexample, a user who selects the TV control 504 application can see aseries of menus as shown in FIG. 7B.

FIGS. 7B–7C depict several host functions. The TV control menu 504 isshown. A user can interactively control the various picture controls bymaneuvering the pointer/cursor and selecting a specific control toadjust. For example, FIG. 7B depicts the contrast, brightness, color,tint, and sharpness controls of a television. Any number of televisioncontrols may be added to the on-screen menuing system.

Further, as described above, since the present menuing system provides aconsistent interface to all programs, selecting an application works thesame way for EPG applications, host applications, and third partyapplications. An example of such an application is depicted in FIG. 7Dwhere a communication program is controlled by the on-screen menuingsystem interface.

FIG. 7E depicts several sub level command functions of the comlink menu512. This figure illustrates how the display of the on-screen menuingsystem is similar for all of the integrated electronic devices.

FIG. 7F depicts a host command function for the comlink sub-menu. Here,the incoming command 514 is executed by the user by positioning thepointer/cursor above a selected interactive glyph.

Description of the Current Time Display

Referring to FIG. 8, the current time and the passage of time isdisplayed for the viewer using the program guide 102. A current time andtime remaining bar 600 is depicted on the program matrix 108. In apreferred embodiment, the current time and time remaining bar 500 willbe indicated to the viewer on the left side of the program matrix 108,for example, by changing the background color of the current time andtime remaining bar area from one color to a slightly darker color. Thisdarkening of the current time and time remaining bar area is depicted asa vertical bar that sweeps across the display area from left to right.The current time and time remaining bar also grows in width as timeprogresses in a manner that depicts both the current time, the passageof time and the time remaining for any particular program currentlydisplayed on the program matrix 108. The viewer is thereby able toeasily determine the time remaining and when the next program on aspecific channel will begin.

The current time is maintained in the data structure. The processorreads the current time data and the EPG display controller displays thecurrent time and time remaining bar information on the program guide102. Periodically the current time is reread by the processor and thenewer grid guide is redisplayed.

Description of Time Bar Glyph

The time bar 704 allows the user to interactively choose a desired timeframe to be viewed. As can be seen in FIG. 1, in a first configuration,the time glyph 602 is an interactive area of the program guide 102. Inthis state, the time glyph depicts the current time frame displayed onthe program guide 102. However, as can be seen in FIG. 9, when a usermoves the pointer/cursor 110 over the time glyph 602, the glyphimmediately becomes the time bar glyph 704. The time bar glyph depicts alonger span of time. In a preferred embodiment, this longer span of timeis 12 hours. The longer span of time indicates an interactive area inwhich the user may choose a specific time frame to be displayed on theviewer grid guide. The time bar glyph 704 includes a series of timeindicator glyphs 706. If any of these glyphs are chosen by the user bypositioning the pointer and then activating the chosen glyph, the EPGgrid guide will display the viewer guide associated with the chosen timeindicator glyph.

This interactive nature of the time bar 704 allows the user to quicklyand easily display any desired future time span of the program guide102.

Description of the Morphing Pointer/Cursor

As can be seen in FIG. 1, the pointer/cursor 110 normally appears as anarrow or triangle. The tip of the pointer/cursor 110 indicates theinteractive area of the EPG to be chosen.

However, referring to FIG. 10A or 10B, when a user moves thepointer/cursor 110 to the edge of the program matrix 108, theconfiguration of the pointer/cursor 110 changes to indicate to the useralternate or additional information. FIG. 10A shows that the cursor haschanged into an icon that represents that the program matrix 108 may beshifted by an entire page. Alternatively, the pointer/cursor in thischanged configuration, may perform some other command when activated. Inaddition, depending on the location of the pointer/cursor, the shape ofthe pointer/cursor may change and an additional informational window mayappear. These additional informational windows 512 are designed to fadefrom view when the information provided is no longer necessary for theuser or following a predetermined period of time, or a predetermined setof commands has been issued buy the user.

FIG. 10C depicts a program guide 102, and an additional configurationfor a pointer/cursor without the additional informational window 512.

1. A system for displaying information on an EPG screen comprising: adisplay controller that processes display data to display an EPGdisplay; a memory for storing an EPG database containing the displaydata and program data; and a processor, coupled to the memory and thedisplay controller, the processor configured to process: database engineprogram data to execute a database engine that generates screen EPGdata; and said display data that includes current time data, whereinsaid current time data includes data for causing said display controllerto display the EPG display of a viewer grid guide, wherein a currentprogram is represented in the viewer grid guide, wherein the currenttime data is depicted as displaying a portion of the current programrepresented in the viewer grid guide in shadow, wherein the shadow iscapable of depicting current time data independent from an end-time ofthe current program.
 2. The system of claim 1 wherein the displaycontroller displays the current time data and time remaining data as atransparent overlying shadow that proceeds across the screen from oneside to another side, graphically depicting the current time data andthe time remaining data.
 3. The system of claim 1 wherein the displaycontroller displays the current time data and time elapsed data as atransparent overlying shadow that proceeds across the screen from oneside to another side, graphically depicting the current time data andthe time elapsed data.
 4. The system of claim 1 wherein the displaycontroller has at least one of a track ball, a cursor controller, apointing device, a microphone allowing voice activation, a number ofkeys that function to move a viewer around the viewer grid guide, and anumber of buttons which enable movement about the viewer grid guide. 5.The system of claim 1 wherein the display controller has an input deviceselected from at least one of a remote control device, a pointingdevice, a mouse, a keyboard, a microphone, a microphone allowing voiceactivation, a cursor controller, a number of keys that function to movethe viewer around the screen, and a number of buttons that function tomove the viewer around the screen, wherein the display controllerresponds to the input device.
 6. The system of claim 5 wherein thedisplay controller has at least one of a pointer and a cursor, anaction, and an area over which the at least one of a pointer and acursor is capable of being positioned, wherein the action is directlyinvoked by positioning the at least one of the pointer and the cursorover the area of the EPG display.
 7. The system of claim 1 wherein theEPG display has a display action control that is activated to change thedisplay data displayed on the viewer grid guide.
 8. The system of claim1 wherein the display controller has at least one of a pointer and acursor, wherein the EPG display has an area over which the at least oneof a pointer and a cursor is capable of being positioned, wherein the atleast one of the pointer and the cursor has a first configuration on theEPG display, and a second configuration on the EPG display thatindicates accessible information, and wherein the at least one of thepointer and the cursor are capable of being moved between the first andsecond configuration.
 9. The system of claim 1 further comprising atleast one of a visual interface, a television, and a computer monitor.10. The system of claim 1 further comprising at least one of a personalcomputer, a PCTV, a television connected to a set-top box, and atelevision including a custom board.
 11. The system of claim 1 whereinthe viewer grid guide includes at least one of a schedule informationarea having a program matrix, a display title area, a display mode icon,a display mode description text field, and the display data for thedisplay listings.
 12. The system of claim 1 wherein the viewer gridguide has a program matrix and a scrolling mechanism that enablesmovement in the program matrix.
 13. The system of claim 12 wherein theprogram matrix has at least one of cells and windows wherein thescrolling mechanism has a movable cursor that includes at least one of aphysical icon on the EPG screen and a highlighting of at least one ofcells and windows on the EPG.
 14. The system of claim 13 wherein whenthe current program is in between a start time and an end time, the atleast one of cells and windows is partially shadowed.
 15. The system ofclaim 1 wherein the memory includes a news, entertainment, weather, andsports database.
 16. The system of claim 1 wherein the memory includesan advertisement database.
 17. The system of claim 1 wherein the memoryincludes an internet database.
 18. The system of claim 1 wherein thememory includes a hierarchical database built by the database engine.19. The system of claim 18 wherein the hierarchical database has aschedule data structure having at least one of a channel data table, ashow list, a show title entry, and a show description entry.
 20. Thesystem of claim 19 wherein the current time data is maintained in theschedule data structure.
 21. The system of claim 20 wherein the currenttime data is maintained in the schedule data structure and the processorperiodically reads and uses the current time data to update the currenttime data the viewer grid guide.
 22. A method for displaying informationon an EPG screen comprising: displaying an EPG display from display databy a display controller; storing an EPG database containing the displaydata and program data in a memory; and using a processor configured toprocess database engine program data to execute a database engine thatgenerates an EPG screen data, and the display data that includes currenttime data, wherein the current time data includes data for causing theEPG display controller to display the EPG display of a viewer gridguide, wherein a current program is represented in the viewer grid guideas a cell, wherein at least one of time elapsed and time remaining ofthe current program is depicted as displaying a portion of the viewergrid guide in shadow, wherein the shadow is capable of extending throughthe cell as time progresses, and wherein the processor is coupled to thememory and the display controller.
 23. The method of claim 22 whereinthe cell is partially shadowed when the current program is in between astart time and end time.
 24. The method of claim 22 wherein the shadowextends to at least a second cell representing a second current program.25. The method of claim 22 wherein the shadow extends across a verticaldistance of the viewer grid guide.
 26. A system for displayinginformation on an EPG screen comprising: means for displaying an EPGdisplay from display data; means for storing an EPG database containingthe display data and program data; and means for processing databaseengine program data to execute a database engine that generates EPGscreen data, the display data includes current time data, wherein thecurrent time data includes data causing the means for displaying the EPGdisplay of a viewer grid guide, wherein a current program is representedin the viewer grid guide as a cell, wherein at least one of time elapsedand time remaining of the current program is depicted as displaying aportion of the viewer grid guide in shadow, wherein the shadow iscapable of extending through the cell as time progresses, and whereinthe means for processing is coupled to the means for displaying and themeans for storing.
 27. The system of claim 26 wherein the cell ispartially shadowed when the current program is in between a start timeand end time.
 28. The system of claim 26 wherein the shadow extends toat least a second cell representing a second current program.
 29. Thesystem of claim 26 wherein the shadow extends across a vertical distanceof the viewer grid guide.
 30. A system for displaying information on anEPG screen comprising: a display controller that processes display datato display an EPG display; a memory for storing an EPG databasecontaining the display data and program data; and a processor, coupledto the memory and the display controller, the processor configured toprocess: database engine program data to execute a database engine thatgenerates screen data and said display data that includes current timedata, wherein said current time data includes data for causing saiddisplay controller to display the EPG display of a viewer grid guide,wherein a current program is represented in the viewer grid guide as acell, wherein at least one of time elapsed and time remaining of thecurrent program is depicted as displaying a portion of the viewer gridguide in shadow, wherein the shadow is capable of extending through thecell.
 31. The system of claim 30 wherein the cell is partially shadowedwhen the current program is in between a start time and end time. 32.The system of claim 30 wherein the shadow extends to at least a secondcell representing a second current program.
 33. (original) The system ofclaim 30 wherein the shadow extends across a vertical distance of theviewer grid guide.